/*************************************************
filename	: model.h
author		: Stefan lulham
desc		: Contains the base for the model class. A model
				is a texture, mesh pair.
*************************************************/
#ifndef D_MODEL_H
#define D_MODEL_H

#include <modules\graphics\texture.h>
#include <modules\graphics\mesh.h>

namespace DelGE
{
	namespace Modules
	{
		namespace Graphics
		{
			class Model
			{
			private:
				Texture*		pTexture;
				Mesh*			pMesh;

			public:
				Model();
				Model(Model *pModel);
				~Model();

				void SetTexture(Texture* pTexture);
				Texture* GetTexture();

				void SetMesh(Mesh* pMesh);
				Mesh* GetMesh();				

				static Model* CreateBlank();
				static Model* CreateCube(float fWidth, float fHeight, float fDepth, float fXOffset = -0.5f, float fYOffset = -0.5f, float fZOffset = -0.5f);
				static Model* CreatePlane(float fWidth, float fDepth, float fXOffset = -0.5f, float fZOffset = -0.5f);
			};
		}
	}
}

#endif